package com.stone.jvm;

import sun.misc.Launcher;
import sun.security.ec.CurveDB;

import java.net.URL;
import java.security.Provider;

public class ClassLoaderTest {
    public static void main(String[] args) {
        System.err.println("********启动类加载器********");
        URL[] urLs = Launcher.getBootstrapClassPath().getURLs();
        for (URL element : urLs){
            System.err.println(element.toExternalForm());
        }

        // 从上面的路径中随意选择一个类，来看看他的类加载器是什么？ --> 为null , 表明是 引导类加载器
        ClassLoader classLoader = Provider.class.getClassLoader();
        System.err.println(classLoader);

        System.err.println("*******扩展类加载器*********");
        String extDirs = System.getProperty("java.ext.dirs");
        for (String path : extDirs.split(";")){
            System.err.println(path);
        }

        // 从上面的路径中随意选择一个类，看类加载器是什么？
        ClassLoader classLoader1 = CurveDB.class.getClassLoader();
        System.err.println(classLoader1); // sun.misc.Launcher$ExtClassLoader@566776ad
    }
}
